[开源]基于Arduino+OpenCV的颠球机器人
最近在网上看到了个视频,挺好玩的,分享给大家。
其实作者在2014年就开始做这个了,最开始是这样的:
看完了,是不是觉得似曾相识呢?这不就是2017年的电赛B题目的升级版吗?17年电赛那个题目,常用的解决方案是把摄像头放在上面,而且小球只在平板上进行二维运动。这个项目是把摄像头放在了透明玻璃的下面,小球的高度和和摄像头采集的小球图像大小成比例关系,在二维运动的基础上升级为了三维立体运动。
这是一个基于步进电机 + Teensy 4.0 + OpenCV实现的乒乓球控制系统,整个项目实现原理的框图如下:
主要分为上位机和下位机,上位机是通过摄像头采集的图像,使用OpenCV算法进行图像处理,计算出小球的三维位置,然后通过PID算法,计算出每个步进电机所需要运动的角度,然后通过串行总线把数据发送给下位机Teensy开发板,开发板根据上位机发来的数据,解析出4个步进电机所需的角度,然后通过PWM输出脉冲信号给驱动。
主要元器件
1块Teensy 4.0开发板,主频600MHz,基于i.MX RT1060,可以使用Arduino开发。
1个 DM442S 步进电机驱动器,可同时驱动4路步进电机
4个Nema 17 42步进电机
1个48V 8A的电源
1个高分辨率的See3CAM_CU135摄像头
1台安装OpenCV的Windows电脑主机
Teensy 4.0开发板,使用NXP RT1062,可以当做Arduino来使用。
所使用到的步进电机和驱动器。
3D打印的五金零部件。
组装效果。
资料下载
GitHub开源地址:
https://github.com/T-Kuhn/HighPrecisionStepperJuggler
或者关注我的公众号(ID: mc149),后台回复【乒乓球】关键字,获取完整的代码下载地址。
推荐阅读
我的博客:www.wangchaochao.top
我的公众号:mcu149
由于微信文章不支持超链接,文中出现的软件、程序等文件下载,可以点击"阅读原文",跳转到我的博客文章进行下载。
原创不易,如果觉得我的文章对你有所帮助,可以随手点“好看”分享,你的支持将是我持续更新的动力。